home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / INCLUDES / I3DEXSCO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  4.4 KB  |  101 lines

  1. /* $Id: I3DEXSCO.H 1.6 1997/05/02 22:55:11 damien Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExScO.h -     I3DExSceneOperation definition                                            *
  5. *                                                                             *
  6. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  7. *                                                                             *
  8. *                                                                             *
  9. *   8/28/96 YC. Added support for undo/redo. New parameter for Prepare()      *
  10. *                                                                             *
  11. \*****************************************************************************/
  12.  
  13. #ifndef __I3DEXSCO__
  14. #define __I3DEXSCO__
  15.  
  16. #ifndef __I3DEX__
  17. #include "I3DEx.h"
  18. #endif
  19.  
  20. /*#ifndef __I3DSHSCN__
  21. #include "I3DShScn.h"
  22. #endif
  23.  
  24. #ifndef __I3DSHTRE__
  25. #include "I3DShTre.h"
  26. #endif*/
  27.  
  28. struct I3DShScene;
  29. struct I3DShTreeElement;
  30. struct I3DShSelection;
  31.  
  32. //****** Globally Unique Ids *************************************************
  33.  
  34. DEFINE_GUID(IID_I3DExSceneOperation,0x1705bf20L,0xad8,0x11cf,0xa4,0xf7,0x0,0x0,0xe2,0x2,0xd5,0xa5);
  35. DEFINE_GUID(IID_I3DExSceneOperation8,0x1705bf21L,0xad8,0x11cf,0xa4,0xf7,0x0,0x0,0xe2,0x2,0xd5,0xa5);
  36.  
  37. /*****************************************************************************\
  38. *  I3DExSceneOperation                                                        *
  39. *                                                                             *
  40. *  Scene Operation                                                            *
  41. *                                                                             *
  42. \*****************************************************************************/
  43.  
  44. /*#undef  INTERFACE
  45. #define INTERFACE   I3DExSceneOperation
  46.  
  47. DECLARE_INTERFACE_(I3DExSceneOperation, I3DExDataExchanger) {
  48.     // IUnknown methods
  49.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  50.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  51.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  52.   
  53.     // I3DExtension methods
  54.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  55.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  56.  
  57.   // I3DExDataExchanger methods
  58.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  59.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  60.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  61.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  62.     STDMETHOD_(short, GetResID) (THIS) PURE;
  63.   
  64.   // I3DExSceneOperation methods
  65.   STDMETHOD(Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, long index, long total) PURE;
  66.     STDMETHOD_(Boolean, DoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
  67.     };*/
  68.  
  69. #undef  INTERFACE
  70. #define INTERFACE   I3DExSceneOperation8
  71.  
  72. DECLARE_INTERFACE_(I3DExSceneOperation8, I3DExDataExchanger) {
  73.     // IUnknown methods
  74.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  75.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  76.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  77.   
  78.     // I3DExtension methods
  79.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  80.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  81.  
  82.   // I3DExDataExchanger methods
  83.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  84.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  85.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  86.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  87.     STDMETHOD_(short, GetResID) (THIS) PURE;
  88.   
  89.   // I3DExSceneOperation methods
  90.     STDMETHOD(Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
  91.     STDMETHOD_(Boolean, DoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
  92.  
  93.  
  94.    // I3DExSceneOperation methods
  95.   STDMETHOD(Prepare8) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total, Boolean* canUndo) PURE;
  96.     STDMETHOD_(Boolean, UndoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
  97.     STDMETHOD_(Boolean, RedoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
  98.     };
  99.  
  100. #endif
  101.